In computer networking, multicast communications are communications in which data is addressed to a multicast group comprising multiple recipients simultaneously. The multicast communications may have either one source (i.e., one-to-many multicast) or multiple sources (i.e., many-to-many multicast). Network assisted multicast is a specific type of multicast communication in which one-to-many addressing and switching is implemented at either the data link layer (e.g., using Ethernet multicast addressing, Asynchronous Transfer Mode (ATM), point-to-multipoint (P2MP) virtual circuits, or Infiniband multicast) or the network layer (e.g., using Internet Protocol (IP) multicast).